#ifndef __OUTPUT_LISTBOX_H__
#define __OUTPUT_LISTBOX_H__
#include <iostream>
#include "IOutputView.h"
#include "PersonList.h"
#include "OutputController.h"
#include "FormatRadioButton.h"
#include "DisplayFormat.h"
#include "OutputButton.h"

using std::ostream;

class OutputListBox : public IOutputView/*, public Button, public RadioButton*/
{
public:

	OutputListBox(ostream& os): os_m(os){}
	~OutputListBox(){delete displayFormat_m; delete personList_m;};
	
	void display(ostream& os);
	
	void update(); 

        void attachComponent(FormatRadioButton* rb1, FormatRadioButton* rb2, Button* b);
	
	
private:
	void radioButton_onSelected();
	
	ostream& os_m;

	FormatRadioButton* radioButtonCasc_m;
        FormatRadioButton* radioButtonInch_m;
        Button* obutton_m;

	PersonList* personList_m;
	DisplayFormat* displayFormat_m;
	
};

#endif
